In a program that allows a user to navigate from one resource to another, it is known to store a navigation history, allowing the user of the program to return to a previously visited resource. For example, the user can return to previously visited resources in an order which is the reverse of the order in which they were first visited, by using a back button. Visited resources may be placed on a stack.
However, this has the disadvantage that the stack of previously visited resources can grow indefinitely. This is a particular disadvantage in the case where the program is intended for use in a mobile device, having constraints on the available memory resources. However, even when the size available memory is not a practical constraint on storing the visited resources, it may be inconvenient to navigate back to the initial resource through a very long stored history.